package com.mangocity.common;

import java.util.HashMap;
import java.util.Map;

public final class Parameters {

    private static Parameters parameters;
    private Map<String, String> cityCodes;
    private Map<String, String> codeCities;

    public Parameters() {
        initCodeCities();
    }

    public static Parameters getInstance() {
        if (null == parameters) {
            parameters = new Parameters();
        }
        return parameters;
    }
    
    private void initCityCodes() {
        cityCodes = new HashMap<String, String>();
        cityCodes.put("包头", "BAV");
        cityCodes.put("北海", "BHY");
        cityCodes.put("北京", "PEK");
        cityCodes.put("长春", "CGQ");
        cityCodes.put("常德", "CGD");
        cityCodes.put("长沙", "CSX");
        cityCodes.put("常州", "CZX");
        cityCodes.put("成都", "CTU");
        cityCodes.put("赤峰", "CIF");
        cityCodes.put("重庆", "CKG");
        cityCodes.put("大理", "DLU");
        cityCodes.put("大连", "DLC");
        cityCodes.put("丹东", "DDG");
        cityCodes.put("福州", "FOC");
        cityCodes.put("赣州", "KOW");
        cityCodes.put("广州", "CAN");
        cityCodes.put("桂林", "KWL");
        cityCodes.put("贵阳", "KWE");
        cityCodes.put("海口", "HAK");
        cityCodes.put("海拉尔", "HLD");
        cityCodes.put("杭州", "HGH");
        cityCodes.put("哈尔滨", "HRB");
        cityCodes.put("合肥", "HFE");
        cityCodes.put("呼和浩特", "HET");
        cityCodes.put("黄山", "TXN");
        cityCodes.put("黄岩", "HYN");
        cityCodes.put("佳木斯", "JMU");
        cityCodes.put("吉林", "JIL");
        cityCodes.put("济南", "TNA");
        cityCodes.put("景德镇", "JDZ");
        cityCodes.put("晋江", "JJN");
        cityCodes.put("九江", "JIU");
        cityCodes.put("昆明", "KMG");
        cityCodes.put("兰州", "LHW");
        cityCodes.put("拉萨", "LXA");
        cityCodes.put("连云港", "LYG");
        cityCodes.put("丽江", "LJG");
        cityCodes.put("南宁", "NNG");
        cityCodes.put("南通", "NTG");
        cityCodes.put("南阳", "NNY");
        cityCodes.put("宁波", "NGB");
        cityCodes.put("青岛", "TAO");
        cityCodes.put("秦皇岛", "SHP");
        cityCodes.put("齐齐哈尔", "NDG");
        cityCodes.put("衢州", "JUZ");
        cityCodes.put("三亚", "SYX");
        cityCodes.put("上海", "SHA");
        cityCodes.put("上海", "PVG");
        cityCodes.put("汕头", "SWA");
        cityCodes.put("沈阳", "SHE");
        cityCodes.put("石家庄", "SJW");
        cityCodes.put("太原", "TYN");
        cityCodes.put("天津", "TSN");
        cityCodes.put("乌鲁木齐", "URC");
        cityCodes.put("万州", "WXN");
        cityCodes.put("温州", "WNZ");
        cityCodes.put("武汉", "WUH");
        cityCodes.put("武夷山", "WUS");
        cityCodes.put("厦门", "XMN");
        cityCodes.put("西安", "SIA");
        cityCodes.put("襄樊", "XFN");
        cityCodes.put("锡林浩特", "XIL");
        cityCodes.put("西宁", "XNN");
        cityCodes.put("西双版纳", "JHG");
        cityCodes.put("延安", "ENY");
        cityCodes.put("徐州", "XUZ");
        cityCodes.put("延吉", "YNJ");
        cityCodes.put("烟台", "YNT");
        cityCodes.put("宜宾", "YBP");
        cityCodes.put("宜昌", "YIH");
        cityCodes.put("银川", "INC");
        cityCodes.put("伊宁", "YIN");
        cityCodes.put("义乌", "YIW");
        cityCodes.put("张家界", "DYG");
        cityCodes.put("柳州", "LZH");
        cityCodes.put("洛阳", "LYA");
        cityCodes.put("泸州", "LZO");
        cityCodes.put("芒市", "LUM");
        cityCodes.put("临沂", "LYI");
        cityCodes.put("牡丹江", "MDG");
        cityCodes.put("南昌", "KHN");
        cityCodes.put("南京", "NKG");
        cityCodes.put("湛江", "ZHA");
        cityCodes.put("郑州", "CGO");
        cityCodes.put("舟山", "HSN");
        cityCodes.put("珠海", "ZUH");
        cityCodes.put("香港", "HKG");
        cityCodes.put("澳门", "MFM");
        cityCodes.put("深圳", "SZX");
    }
    
    private void initCodeCities() {
        initCityCodes();
        codeCities = new HashMap<String, String>();
        for (Map.Entry<String, String> map : cityCodes.entrySet()) {
            codeCities.put(map.getValue(), map.getKey());
        }
    }

    public Map<String, String> getCityCodes() {
        return cityCodes;
    }

    public Map<String, String> getCodeCities() {
        return codeCities;
    }

}
